perm filename CUES.OLD[PAG,LCS] blob sn#388641 filedate 1978-10-17 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		SUBROUTINE CUES(JCUE)
C00004 ENDMK
CāŠ—;
	SUBROUTINE CUES(JCUE)
	COMMON /PX/KPN(1)/XRN/RN(1)/PTR/KWDS(1)/RCLF/KK,CLEF,KW,ITEM
 
	DO 1 K=JCUE,1,-1
C BACK THROUGH ARRAY FROM LAST CUE FOUND.
	IF(CODEN(KWDS,K,RN,J).NE.2)GO TO 1
C NEXT FOUND A REST
	IF(RN(J).LT.8)GO TO 1
C JUMP IF WDCNT IS TOO SMALL
	IF(RN(J+10).LT.100)GO TO 1
C P10=100+STAFF NUM. OF CUE DATA.  JUMP IF IMPROPER NUM.
	STF=RN(J+10)-100.
	POS=RN(J+3)
C POSITION OF THIS REST
	PLEFT=0
	PRGHT=1000
C POSITIONS FOR BARS TO LEFT AND RIGHT.  NEXT FIND PROPER BARS.
	DO 2 L=1,ITEM
	IF(CODEN(KWDS,L,RN,N).NE.4)GO TO 2
C FIND A BAR AND ITS POS.
	X=RN(N+3)
	IF(X.GT.POS)GO TO 3
C IS TO LEFT OR RIGHT OF REST?
	IF(X.GT.PLEFT)PLEFT=X
	GO TO 2
3	IF(X.LT.PRGHT)PRGHT=X
2	CONTINUE
C NOW FOUND BARS ON EACH SIDE OF REST.
	
	DO 4 L=1,ITEM
C NOW FIND NOTES WITHIN PROPER BAR AND ON PROPER STAFF
	R=CODEN(KWDS,L,RN,N)
	IF(RN(N+2).NE.STF)GO TO 4
	RS=RN(N+3)
C POS. OF ITEM.
	IF(RS.GT.PRGHT)GO TO 4
	IF(RS.LT.PLEFT)GO TO 4
C NOW BETWEEN BARS.
	IF(R.GT.6)GO TO 4
C USE NOTES,RESTS,CLEFS,SLURS,BEAMS
	RN(N+4)=RN(N+4)+100.
C MAKE ALL MINIS AND PUT ON STAFF 0
	RN(N+2)=0
	CALL QRN(N,KPN,L)
C GO PUT IT INTO Q ARRAY 
4	CONTINUE
	RN(J+8)=0
	RN(J+7)=0
C ZERO RHYTHM OF THE WHOLE REST AND WHOLE REST FLAG(P8)
1	CONTINUE
	END